class GetProjectInfoByPIdModel {
  Data data;
  int code;
  String msg;

  GetProjectInfoByPIdModel({this.data, this.code, this.msg});

  GetProjectInfoByPIdModel.fromJson(Map<String, dynamic> json) {
    data = json['data'] != null ? new Data.fromJson(json['data']) : null;
    code = json['code'];
    msg = json['msg'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.data != null) {
      data['data'] = this.data.toJson();
    }
    data['code'] = this.code;
    data['msg'] = this.msg;
    return data;
  }
}

class Data {
  String appId;
  int projectId;
  String projectName;
  String recordName;
  String provinceId;
  String provinceName;
  String cityId;
  String cityName;
  String areaId;
  String areaName;
  String proCityName;
  String longitude;
  String latitude;
  String path;
  String httpPath;
  String saleStatusName;
  String property;
  List<String> propertyList;
  String buildings;
  List<String> buildingsNameList;
  String useYears;
  String propertyCompany;
  String floorArea;
  String greenRate;
  String address;
  String allAddress;
  String saleAddress;
  String mainLayout;
  String mainArea;
  String area;
  double totalArea;
  String tags;
  List<String> tagList;
  String avgPrice;
  String avgPriceUnit;
  String totalPrice;
  String openTime;
  Null homePageRec;
  Null listRec;
  Null isShow;
  Null comProjectList;
  int totalHouseNum;
  int parkingMatching;
  int propertyPrice;
  String developer;
  List<LayoutTypeBOS> layoutTypeBOS;
  String locOther;
  int tolCount;
  String phone;
  String decoration;
  String locTraffic;
  String locBlank;
  String locSchool;
  String locMarket;
  Null saleTag;
  String saleTagPCode;
  Null tagsDtos;
  String tagsDtosPCode;
  Null houseTages;
  String houseTagesPCode;
  List<LayoutDictVOS> layoutDictVOS;
  bool isCollect;
  int pageViews;
  List<String> avatars;
  Null consultantId;
  Null consultantName;
  Null disId;
  Null discountsName;
  Null headPic;
  String regionalReviews;

  Data(
      {this.appId,
      this.projectId,
      this.projectName,
      this.recordName,
      this.provinceId,
      this.provinceName,
      this.cityId,
      this.cityName,
      this.areaId,
      this.areaName,
      this.proCityName,
      this.longitude,
      this.latitude,
      this.path,
      this.httpPath,
      this.saleStatusName,
      this.property,
      this.propertyList,
      this.buildings,
      this.buildingsNameList,
      this.useYears,
      this.propertyCompany,
      this.floorArea,
      this.greenRate,
      this.address,
      this.allAddress,
      this.saleAddress,
      this.mainLayout,
      this.mainArea,
      this.area,
      this.totalArea,
      this.tags,
      this.tagList,
      this.avgPrice,
      this.avgPriceUnit,
      this.totalPrice,
      this.openTime,
      this.homePageRec,
      this.listRec,
      this.isShow,
      this.comProjectList,
      this.totalHouseNum,
      this.parkingMatching,
      this.propertyPrice,
      this.developer,
      this.layoutTypeBOS,
      this.locOther,
      this.tolCount,
      this.phone,
      this.decoration,
      this.locTraffic,
      this.locBlank,
      this.locSchool,
      this.locMarket,
      this.saleTag,
      this.saleTagPCode,
      this.tagsDtos,
      this.tagsDtosPCode,
      this.houseTages,
      this.houseTagesPCode,
      this.layoutDictVOS,
      this.isCollect,
      this.pageViews,
      this.avatars,
      this.consultantId,
      this.consultantName,
      this.disId,
      this.discountsName,
      this.headPic,
      this.regionalReviews});

  Data.fromJson(Map<String, dynamic> json) {
    appId = json['appId'];
    projectId = json['projectId'];
    projectName = json['projectName'];
    recordName = json['recordName'];
    provinceId = json['provinceId'];
    provinceName = json['provinceName'];
    cityId = json['cityId'];
    cityName = json['cityName'];
    areaId = json['areaId'];
    areaName = json['areaName'];
    proCityName = json['proCityName'];
    longitude = json['longitude'];
    latitude = json['latitude'];
    path = json['path'];
    httpPath = json['httpPath'];
    saleStatusName = json['saleStatusName'];
    property = json['property'];
    propertyList = json['propertyList'].cast<String>();
    buildings = json['buildings'];
    buildingsNameList = json['buildingsNameList'].cast<String>();
    useYears = json['useYears'];
    propertyCompany = json['propertyCompany'];
    floorArea = json['floorArea'];
    greenRate = json['greenRate'];
    address = json['address'];
    allAddress = json['allAddress'];
    saleAddress = json['saleAddress'];
    mainLayout = json['mainLayout'];
    mainArea = json['mainArea'];
    area = json['area'];
    totalArea = json['totalArea'];
    tags = json['tags'];
    tagList = json['tagList'].cast<String>();
    avgPrice = json['avgPrice'];
    avgPriceUnit = json['avgPriceUnit'];
    totalPrice = json['totalPrice'];
    openTime = json['openTime'];
    homePageRec = json['homePageRec'];
    listRec = json['listRec'];
    isShow = json['isShow'];
    comProjectList = json['comProjectList'];
    totalHouseNum = json['totalHouseNum'];
    parkingMatching = json['parkingMatching'];
    propertyPrice = json['propertyPrice'];
    developer = json['developer'];
    if (json['layoutTypeBOS'] != null) {
      layoutTypeBOS = new List<LayoutTypeBOS>();
      json['layoutTypeBOS'].forEach((v) {
        layoutTypeBOS.add(new LayoutTypeBOS.fromJson(v));
      });
    }
    locOther = json['locOther'];
    tolCount = json['tolCount'];
    phone = json['phone'];
    decoration = json['decoration'];
    locTraffic = json['locTraffic'];
    locBlank = json['locBlank'];
    locSchool = json['locSchool'];
    locMarket = json['locMarket'];
    saleTag = json['saleTag'];
    saleTagPCode = json['saleTagPCode'];
    tagsDtos = json['tagsDtos'];
    tagsDtosPCode = json['tagsDtosPCode'];
    houseTages = json['houseTages'];
    houseTagesPCode = json['houseTagesPCode'];
    if (json['layoutDictVOS'] != null) {
      layoutDictVOS = new List<LayoutDictVOS>();
      json['layoutDictVOS'].forEach((v) {
        layoutDictVOS.add(new LayoutDictVOS.fromJson(v));
      });
    }
    isCollect = json['isCollect'];
    pageViews = json['pageViews'];
    avatars = json['avatars'].cast<String>();
    consultantId = json['consultantId'];
    consultantName = json['consultantName'];
    disId = json['disId'];
    discountsName = json['discountsName'];
    headPic = json['headPic'];
    regionalReviews = json['regionalReviews'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['appId'] = this.appId;
    data['projectId'] = this.projectId;
    data['projectName'] = this.projectName;
    data['recordName'] = this.recordName;
    data['provinceId'] = this.provinceId;
    data['provinceName'] = this.provinceName;
    data['cityId'] = this.cityId;
    data['cityName'] = this.cityName;
    data['areaId'] = this.areaId;
    data['areaName'] = this.areaName;
    data['proCityName'] = this.proCityName;
    data['longitude'] = this.longitude;
    data['latitude'] = this.latitude;
    data['path'] = this.path;
    data['httpPath'] = this.httpPath;
    data['saleStatusName'] = this.saleStatusName;
    data['property'] = this.property;
    data['propertyList'] = this.propertyList;
    data['buildings'] = this.buildings;
    data['buildingsNameList'] = this.buildingsNameList;
    data['useYears'] = this.useYears;
    data['propertyCompany'] = this.propertyCompany;
    data['floorArea'] = this.floorArea;
    data['greenRate'] = this.greenRate;
    data['address'] = this.address;
    data['allAddress'] = this.allAddress;
    data['saleAddress'] = this.saleAddress;
    data['mainLayout'] = this.mainLayout;
    data['mainArea'] = this.mainArea;
    data['area'] = this.area;
    data['totalArea'] = this.totalArea;
    data['tags'] = this.tags;
    data['tagList'] = this.tagList;
    data['avgPrice'] = this.avgPrice;
    data['avgPriceUnit'] = this.avgPriceUnit;
    data['totalPrice'] = this.totalPrice;
    data['openTime'] = this.openTime;
    data['homePageRec'] = this.homePageRec;
    data['listRec'] = this.listRec;
    data['isShow'] = this.isShow;
    data['comProjectList'] = this.comProjectList;
    data['totalHouseNum'] = this.totalHouseNum;
    data['parkingMatching'] = this.parkingMatching;
    data['propertyPrice'] = this.propertyPrice;
    data['developer'] = this.developer;
    if (this.layoutTypeBOS != null) {
      data['layoutTypeBOS'] =
          this.layoutTypeBOS.map((v) => v.toJson()).toList();
    }
    data['locOther'] = this.locOther;
    data['tolCount'] = this.tolCount;
    data['phone'] = this.phone;
    data['decoration'] = this.decoration;
    data['locTraffic'] = this.locTraffic;
    data['locBlank'] = this.locBlank;
    data['locSchool'] = this.locSchool;
    data['locMarket'] = this.locMarket;
    data['saleTag'] = this.saleTag;
    data['saleTagPCode'] = this.saleTagPCode;
    data['tagsDtos'] = this.tagsDtos;
    data['tagsDtosPCode'] = this.tagsDtosPCode;
    data['houseTages'] = this.houseTages;
    data['houseTagesPCode'] = this.houseTagesPCode;
    if (this.layoutDictVOS != null) {
      data['layoutDictVOS'] =
          this.layoutDictVOS.map((v) => v.toJson()).toList();
    }
    data['isCollect'] = this.isCollect;
    data['pageViews'] = this.pageViews;
    data['avatars'] = this.avatars;
    data['consultantId'] = this.consultantId;
    data['consultantName'] = this.consultantName;
    data['disId'] = this.disId;
    data['discountsName'] = this.discountsName;
    data['headPic'] = this.headPic;
    data['regionalReviews'] = this.regionalReviews;
    return data;
  }
}

class LayoutTypeBOS {
  String name;
  Null code;
  int minVal;
  int count;

  LayoutTypeBOS({this.name, this.code, this.minVal, this.count});

  LayoutTypeBOS.fromJson(Map<String, dynamic> json) {
    name = json['name'];
    code = json['code'];
    minVal = json['minVal'];
    count = json['count'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['name'] = this.name;
    data['code'] = this.code;
    data['minVal'] = this.minVal;
    data['count'] = this.count;
    return data;
  }
}

class LayoutDictVOS {
  String code;
  String name;

  LayoutDictVOS({this.code, this.name});

  LayoutDictVOS.fromJson(Map<String, dynamic> json) {
    code = json['code'];
    name = json['name'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['code'] = this.code;
    data['name'] = this.name;
    return data;
  }
}
